//初始化表单
var initForm = function(){
	$('#_contract_detail').form({
		url :'sys/LoanContract/addOrUpdate',
		onBeforeLoad : function(param){
			$.messager.progress();
		},
		onLoadSuccess : function(data) {
			//加载完成之后才构建
			$.messager.progress("close");
		},
		onLoadError : function(data) {
			//加载完成之后才构建
			$.messager.progress("close");
			$.messager.alert('提示', "加载内容失败,请重新刷新页面/联系管理员", "error");
		},
		onSubmit : function(param) {
			if (!$(this).form("validate")) {
				$.messager.alert('提示', "提交的选项中,有错误内容,请检查", "error");
				return false;
			}
			$.messager.progress();
		},
		success : function(data) {	
			$.messager.progress("close");
			var jd = eval('(' + data + ')');
			if(!!!jd){
				$.messager.alert('提示', "未知异常", "error");
				return false;
			}
			if(jd.state!=200){
				$.messager.alert('提示', jd.message, "error");
				return false;
			}
			$.messager.alert('提示', '操作成功!');
		}
	});
	
	$('#_pay_detail').form({
		url :'sys/LoanPay/addOrUpdate',
		onBeforeLoad : function(param){
			$.messager.progress();
		},
		onLoadSuccess : function(data) {
			//加载完成之后才构建
			$.messager.progress("close");
		},
		onLoadError : function(data) {
			//加载完成之后才构建
			$.messager.progress("close");
			$.messager.alert('提示', "加载内容失败,请重新刷新页面/联系管理员", "error");
		},
		onSubmit : function(param) {
			if (!$(this).form("validate")) {
				$.messager.alert('提示', "提交的选项中,有错误内容,请检查", "error");
				return false;
			}
			$.messager.progress();
		},
		success : function(data) {	
			$.messager.progress("close");
			var jd = eval('(' + data + ')');
			if(!!!jd){
				$.messager.alert('提示', "未知异常", "error");
				return false;
			}
			if(jd.state!=200){
				$.messager.alert('提示', jd.message, "error");
				return false;
			}
			$.messager.alert('提示', '操作成功!');
			
		}
	});
	
	//初始化银行卡表单
	$('#bankForm').form({
		url :'sys/ClientBank/addOrUpdate',
		onBeforeLoad : function(param){
			$.messager.progress();
		},
		onLoadSuccess : function(data) {
			//加载完成之后才构建
			$.messager.progress("close");
		},
		onLoadError : function(data) {
			//加载完成之后才构建
			$.messager.progress("close");
			$.messager.alert('提示', "加载内容失败,请重新刷新页面/联系管理员", "error");
		},
		onSubmit : function(param) {
			console.info('final:'+getHasMainCard());
			//如果是新增操作，且已经有主帐号
			if(getHasMainCard()  && $("#bankMainStatus").val()==2){
				$.messager.alert('提示', "已经有主帐号，不能重复添加!", "error");
				return false;
			}
			if (!$(this).form("validate")) {
				$.messager.alert('提示', "提交的选项中,有错误内容,请检查", "error");
				return false;
			}
			$.messager.progress();
		},
		success : function(data) {	
			$.messager.progress("close");
			var jd = eval('(' + data + ')');
			if(!!!jd){
				$.messager.alert('提示', "未知异常", "error");
				return false;
			}
			if(jd.state!=200){
				$.messager.alert('提示', jd.message, "error");
				return false;
			}
			$.messager.alert('提示', '操作成功!');
			cleanForm();
    		$('#bankTable').dataTable().fnDraw();
			
		}
	});
};

//初始化表单数据
var initFormData = function(){
	if(typeof(_param_id)!='undefined' && _param_id.length > 0){
		_set_default_lable_text('sys/Loan/findByPk?pks=' + _param_id,false);		
		$("#_contract_detail").form('load','loan/ContractManage/findLoanContractByLoanId?loanId=' + _param_id);
		$("#_pay_detail").form('load','loan/ContractManage/findLoanPayByLoanId?loanId=' + _param_id);
	}
};

//初始化列表
var initGrid = function(){
	$('#bankTable').dataTable({
		"bProcessing" : true, //DataTables载入数据时，是否显示‘进度’提示
        "bServerSide" : true, //是否启动服务器端数据导入
        "bStateSave" : false, //是否打开客户端状态记录功能,此功能在ajax刷新纪录的时候不会将个性化设定回复为初始化状态
        "bJQueryUI" : true, //是否使用 jQury的UI theme
        "aLengthMenu" : [5, 10, 15], //更改显示记录数选项
        "iDisplayLength" : 5, //默认显示的记录数
        "bAutoWidth" : true, //是否自适应宽度 update\
        "bScrollCollapse" : false, //是否开启DataTables的高度自适应，当数据条数不够分页数据条数的时候，插件高度是否随数据条数而改变
        "bPaginate" : false, //是否显示（应用）分页器
        "bInfo" : false, //是否显示页脚信息，DataTables插件左下角显示记录数
        "sPaginationType" : "full_numbers", //详细分页组，可以支持直接跳转到某页
        "bSort" : false, //是否启动各个字段的排序功能
        "aaSorting" : [[1, "ASC"]], //默认的排序方式，第3列，升序排列
        "bFilter" : false, //是否启动过滤、搜索功能
        "sPaginationType": "full_numbers",
	    "sAjaxSource":"loan/ContractManage/findBankListByLoanId",
        "fnServerData":retrieveData,  //自定义数据获取函数
        
		"aoColumns" : [{
			"mDataProp" : "",
			"sTitle" : "操作",
			"bSortable": false,
			"sDefaultContent" : "",
			"sClass" : "center",
			"mRender": function (data, display, row) {
		      var id = row.id,clientId=row.clientId,status=row.loanStatus;
		      var parseStr = '<a href="javascript:updateBankInfo('+id+');" class="tablelink">修改</a>&nbsp;&nbsp;';
		      parseStr += '<a href="javascript:dropBankInfo('+id+');" class="tablelink">删除</a>&nbsp;';
		      return parseStr;
		    }
			
		},{
			"mDataProp" : "bankAccount",
			"sTitle" : "账户名",
			"bSortable": false,
			"sDefaultContent" : "",
			"sClass" : "center"
		},{
			//Client_Bank_Type_Code
			"mDataProp" : "bankType",
			"sTitle" : "银行卡类型",
			"bSortable": false,
			"sDefaultContent" : "",
			"sClass" : "center",
			"mRender": function (data, display, row) {
				return top.SYS_BASE_DATA['Client_Bank_Type_Code'][data];
			}
		}, {
			//Client_Bank_Name_Code
			"mDataProp" : "bankName",
			"sTitle" : "银行名称",
			"bSortable": false,
			"sDefaultContent" : "",
			"sClass" : "center",
			"mRender": function (data, display, row) {
				return top.SYS_BASE_DATA['Client_Bank_Name_Code'][data];
			}
		}, {
			"mDataProp" : "bankBranch",
			"sTitle" : "银行所属分行",
			"bSortable": false,
			"sDefaultContent" : "",
			"sClass" : "center"
		}, {
			"mDataProp" : "bankNumber",
			"sTitle" : "银行帐号",
			"bSortable": false,
			"sDefaultContent" : "",
			"sClass" : "center"
		}, {
			//Client_Bank_Main_Status_Code
			"mDataProp" : "bankMainStatus",
			"sTitle" : "是否为主帐号",
			"bSortable": false,
			"sDefaultContent" : "",
			"sClass" : "center",
			"mRender": function (data, display, row) {
				return top.SYS_BASE_DATA['Client_Bank_Main_Status_Code'][data];
			}
		}
		
		],
		"oLanguage": {
            "sUrl":"static_resources/language/lang-cn.txt" //这个是国际化，也就是汉化的各种文字数据源，写对url就行了
        }
	});
};

//自定义数据获取函数
function retrieveData( sSource, aoData, fnCallback ) {
    aoData.push({'name':'beanProxy[loanId]','value':_param_id});  
        $.ajax( {
                type: "POST", 
                url: sSource, 
                cache : false,
                dataType : "json",
	                data : aoData, 
	                success: function(resp) {
	                	if(resp && resp.state == 200){
	                		fnCallback(resp.datagrid);
	                		return false;
	                	}
	                	fnCallback(null);
	            }
	        });
}


//修改银行看信息
var updateBankInfo = function(id){
	var aData = $('#bankTable').dataTable().fnGetData();
	$.each(aData,function(index,node){
		if(node.id==id){
			$('#bankForm').form('load',node);
			return;
		}
	});
	
};
//物理删除银行卡记录
var dropBankInfo = function(id){
	$.dialog.confirm('你确定删除这条银行账户信息吗？', function(){
		$.ajax({
	       	url:'sys/ClientBank/drop',
	    	data:{pks:id},
	    	type:'post',
	    	dataType:'json',
	    	success:function(result){
	    	        if(result.state == "200"){
	    	        	$.dialog.alert('删除成功！');
	    	        	$('#bankTable').dataTable().fnDraw();
	    	        }else{
	    	        	$.dialog.alert('删除失败！');
	    	        }
	    		}
	        });
	}, function(){
//	    $.dialog.tips('执行取消操作');
	});
};

//清空银行账户form表单
var cleanForm = function(){
	$("#bankForm").form()[0].reset();
	$("#bankId").val("");
	
};

//银行账户表单判断是否有主帐号
var getHasMainCard = function (){
	var has = false;
	var aData = $('#bankTable').dataTable().fnGetData();
	$.each(aData,function(index,node){
		//如果有主帐号，并且不是当前修改记录的帐号
		if(node.bankMainStatus == 2 && node.id != $("#bankId").val()){
			has = true;
		}
	});
	return has;
};

//提交合同
var submitOrder = function(){
	
	initFormData();
	var isValid = $("#_contract_detail").form('validate');
	if (!isValid){
		$.messager.alert('提示', "合同信息不全，请补充!", "error");
		return false;
	}
	isValid = $("#_pay_detail").form('validate');
	if (!isValid){
		$.messager.alert('提示', "放款信息不全，请补充!", "error");
		return false;
	}
	
		var has = false;
		//判断是否有主银行卡
		var aData = $('#bankTable').dataTable().fnGetData();
		$.each(aData,function(index,node){
			//如果有主帐号，并且不是当前修改记录的帐号
			if(node.bankMainStatus == 2){
				has = true;
				return;
			}
		});
		if(!has){
			$.messager.alert('提示', "客户银行账户只要一个主账号!", "error");
			return false;
		}
		$.ajax({
	       	url:'sys/LoanContract/addOrUpdate',
	    	data:{id:$('#contractId').val(),contractStatus:2},
	    	type:'post',
	    	dataType:'json',
	    	success:function(result){
	    	        if(result.state == "200"){
	    	        	$.dialog.alert('提交成功！',function(){
	    	        		location.href = 'jsp/loan/loan_contract_list.jsp';
	    	        	},function(){
	    	        		location.href = 'jsp/loan/loan_contract_list.jsp';
	    	        	});
	    	        }else{
	    	        	$.dialog.alert('删除失败！');
	    	        }
	    		}
	        });
	
};

//初始化
$(function(){
	initForm();
	initFormData();
	initGrid();
	$('#bankType').mSelect({
		myClass:'easyui-validatebox dfinput',
		width:192,
		baseCode:'Client_Bank_Type_Code',
		isAllSelect:false,
		dataOptions:'required:true'
	});
	
	$('#bankName').mSelect({
		myClass:'easyui-validatebox dfinput',
		width:192,
		baseCode:'Client_Bank_Name_Code',
		isAllSelect:false,
		dataOptions:'required:true'
	});
	
	$('#bankMainStatus').mSelect({
		myClass:'easyui-validatebox dfinput',
		width:192,
		baseCode:'Client_Bank_Main_Status_Code',
		isAllSelect:false,
		dataOptions:'required:true'
	});

});
